Patch from Bill Haneman (with many modifications) to make the focus color
authorOwen Taylor <otaylor@redhat.com>
Tue, 4 Dec 2001 03:27:30 +0000 (03:27 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Tue, 4 Dec 2001 03:27:30 +0000 (03:27 +0000)
commit7537825b34bee7094b6bf2e4f3f1e551114ed022
treefb77377ab8aeb2e537f2177554e1d2ec9d390ee2
parentcac3ad31314da1c2b0a5c35f54f7328da5ed51a3
Patch from Bill Haneman (with many modifications) to make the focus color

Mon Dec  3 16:39:17 2001  Owen Taylor  <otaylor@redhat.com>

Patch from Bill Haneman (with many modifications) to make
the focus color work on dark themes and to make the
focus line width configurable. (#61079, #63074)

        * gtk/gtkwidget.c: Add style properties,
::focus-widget, ::focus-line-width, and ::focus-padding.

* gtk/gtkstyle.[ch]: Make gtk_paint_focus() take a
state argument as well so we can use fg[STATE] to
draw instead of always drawing with black.
Cange paint_focus() to respect GtkWidget::focus-width
and GtkWidget::focus-line-pattern. Fix continuity
problem where the default 1-1 stipple had a blob
in one corner and a gap in the other. Change the
interpretation of x/y/width/height to be the bounding
box of the focus rect instead of the rectangle
passed to gdk_draw_rectangle.

* gtk/gtkcheckbutton.c gtk/gtklistitem.c gtk/gtknotebook.c
gtk/gtkoptionmenu.c gtk/gtkradiobutton.c gtk/gtkspinbutton.c
gtk/gtktextview.c gtk/gtktreeview.c: Handle ::focus-width
and ::focus-line-padding.

* gtk/gtkentry.c: Handle :;focus-width property; cleanup
and remove duplicated code; fix drawing of focus rectangle
when interior-focus = FALSE. (#63072, #63073)

* gtk/gtkrange.c gtk/gtktext.c gtk/gtktreeitem.c
gtk/gtktreeviewcolumn.c: Basic fixups to make compile;
Range and TreeViewColumn will need more extensive fixing.

* gtk/gtkcolorsel.c: Honor focus line attributes when
drawing the focus on the color swatches. (#63071)

* gtk/gtkhsv.c: Honor focus line attributes when
drawing the focus for the ring and triangle.

* docs/widget_geometry.txt: Start at documenting how
various widgets are drawn.

* gtk/gtkbutton.c (_gtk_button_paint): Export
_gtk_button_paint() librarywide, so we don't have
duplicate a bunch of code in gtktogglebutton.c.

* gtk/gtktogglebutton.c: Use _gtk_button_paint().
31 files changed:
ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
docs/Changes-2.0.txt
docs/widget_geometry.txt [new file with mode: 0644]
gtk/gtkbutton.c
gtk/gtkbutton.h
gtk/gtkcheckbutton.c
gtk/gtkcolorsel.c
gtk/gtkentry.c
gtk/gtkhsv.c
gtk/gtklistitem.c
gtk/gtkmenuitem.c
gtk/gtknotebook.c
gtk/gtkoptionmenu.c
gtk/gtkradiobutton.c
gtk/gtkrange.c
gtk/gtkspinbutton.c
gtk/gtkstyle.c
gtk/gtkstyle.h
gtk/gtktext.c
gtk/gtktextview.c
gtk/gtktogglebutton.c
gtk/gtktreeitem.c
gtk/gtktreeview.c
gtk/gtktreeviewcolumn.c
gtk/gtkwidget.c